﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


namespace PluginInterface
{
    /// <summary>
    /// Otorga caracteristicas al sistema segun su implementacion
    /// </summary>
    public interface Plugin
    {
        /// <summary>
        /// Retorna el nombre del plugin 
        /// </summary>
        string Nombre { get; }
        /// <summary>
        /// Otorga información sobre los posibles errores 
        /// que puede producir el uso incorrecto de los operandos según su operación
        /// </summary>
        /// <param name="op1"></param> Representa un operando 
        /// <param name="op2"></param>Representa un operando 
        /// <returns></returns> Retorna una clase Error 
        Error control(double op1, double op2);
        /// <summary>
        /// Representa una operación binaria
        /// </summary>
        /// <param name="op1"></param>Representa un operando
        /// <param name="op2"></param>Representa un operando
        /// <returns></returns> Retorna el valor de la operación
        double operacion(double op1, double op2);
        
}
    }
